\hypertarget{class_lib_u_s_b_1_1_device}{\section{Lib\-U\-S\-B\-:\-:Device Class Reference}
\label{class_lib_u_s_b_1_1_device}\index{Lib\-U\-S\-B\-::\-Device@{Lib\-U\-S\-B\-::\-Device}}
}


Libusb device interface.  




{\ttfamily \#include $<$device.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_lib_u_s_b_1_1_device_aeaa204a15758e97814f22daef0620bbe}{{\bfseries Device} (std\-::shared\-\_\-ptr$<$ Device\-Impl $>$ p\-Init)}\label{class_lib_u_s_b_1_1_device_aeaa204a15758e97814f22daef0620bbe}

\item 
\hypertarget{class_lib_u_s_b_1_1_device_a243abe3304f5b0df560c1c1d4996fc27}{void {\bfseries Init} ()}\label{class_lib_u_s_b_1_1_device_a243abe3304f5b0df560c1c1d4996fc27}

\item 
\hypertarget{class_lib_u_s_b_1_1_device_aab5f0f101c8ca3e7f3efd22906259a07}{bool \hyperlink{class_lib_u_s_b_1_1_device_aab5f0f101c8ca3e7f3efd22906259a07}{is\-Open} ()}\label{class_lib_u_s_b_1_1_device_aab5f0f101c8ca3e7f3efd22906259a07}

\begin{DoxyCompactList}\small\item\em Returns T\-R\-U\-E if the device is open. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_ad3d1cb1906cc40792d91f465d2fa8475}{void \hyperlink{class_lib_u_s_b_1_1_device_ad3d1cb1906cc40792d91f465d2fa8475}{Open} ()}\label{class_lib_u_s_b_1_1_device_ad3d1cb1906cc40792d91f465d2fa8475}

\begin{DoxyCompactList}\small\item\em Opens the device. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a59034f46f295c33e8508fc249d196f3a}{uint16\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a59034f46f295c33e8508fc249d196f3a}{U\-S\-B\-Specification} ()}\label{class_lib_u_s_b_1_1_device_a59034f46f295c33e8508fc249d196f3a}

\begin{DoxyCompactList}\small\item\em U\-S\-B specification release number. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a1e20bb4c9f2df68b470dcc6c9922a209}{uint8\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a1e20bb4c9f2df68b470dcc6c9922a209}{Device\-Class} ()}\label{class_lib_u_s_b_1_1_device_a1e20bb4c9f2df68b470dcc6c9922a209}

\begin{DoxyCompactList}\small\item\em U\-S\-B-\/\-I\-F class code. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a86766778e062854e0a7d7b264793e9aa}{uint8\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a86766778e062854e0a7d7b264793e9aa}{Device\-Subclass} ()}\label{class_lib_u_s_b_1_1_device_a86766778e062854e0a7d7b264793e9aa}

\begin{DoxyCompactList}\small\item\em U\-S\-B-\/\-I\-F subclass code for the device, qualified by the b\-Device\-Class value. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_ab3ae560d2ab9bf058d39eb266e752d98}{uint8\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_ab3ae560d2ab9bf058d39eb266e752d98}{Device\-Protocol} ()}\label{class_lib_u_s_b_1_1_device_ab3ae560d2ab9bf058d39eb266e752d98}

\begin{DoxyCompactList}\small\item\em U\-S\-B-\/\-I\-F protocol code for the device, qualified by the b\-Device\-Class and b\-Device\-Sub\-Class values. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a10d9993286eea8424f0d97bb5a0cbab6}{uint16\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a10d9993286eea8424f0d97bb5a0cbab6}{vendor\-I\-D} ()}\label{class_lib_u_s_b_1_1_device_a10d9993286eea8424f0d97bb5a0cbab6}

\begin{DoxyCompactList}\small\item\em U\-S\-B-\/\-I\-F vendor I\-D. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a5f3f9c76a5b6f10e70b71b63dcae575d}{uint16\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a5f3f9c76a5b6f10e70b71b63dcae575d}{product\-I\-D} ()}\label{class_lib_u_s_b_1_1_device_a5f3f9c76a5b6f10e70b71b63dcae575d}

\begin{DoxyCompactList}\small\item\em U\-S\-B-\/\-I\-F product I\-D. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a2675fa27b241d017e20a20bd7d7a8af9}{std\-::wstring \hyperlink{class_lib_u_s_b_1_1_device_a2675fa27b241d017e20a20bd7d7a8af9}{Product\-String} ()}\label{class_lib_u_s_b_1_1_device_a2675fa27b241d017e20a20bd7d7a8af9}

\begin{DoxyCompactList}\small\item\em Returns a string describing the product. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a8bdf8188d169b78b6042acdace38029d}{std\-::wstring \hyperlink{class_lib_u_s_b_1_1_device_a8bdf8188d169b78b6042acdace38029d}{Manufacturer\-String} ()}\label{class_lib_u_s_b_1_1_device_a8bdf8188d169b78b6042acdace38029d}

\begin{DoxyCompactList}\small\item\em Returns a string describing the manufacturer. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_aab1bf4b42123fe6e83614e49a95c4fcf}{std\-::wstring \hyperlink{class_lib_u_s_b_1_1_device_aab1bf4b42123fe6e83614e49a95c4fcf}{Serial\-String} ()}\label{class_lib_u_s_b_1_1_device_aab1bf4b42123fe6e83614e49a95c4fcf}

\begin{DoxyCompactList}\small\item\em Returns the serial number string of the device. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a38ef4e0bb23c0db89297bbe3f1a7f019}{uint8\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_a38ef4e0bb23c0db89297bbe3f1a7f019}{Num\-Configurations} ()}\label{class_lib_u_s_b_1_1_device_a38ef4e0bb23c0db89297bbe3f1a7f019}

\begin{DoxyCompactList}\small\item\em Returns the number of possible configurations for this device. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a5ce2cb2d3b4e92fe28f35eb1d5e38b77}{std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_configuration}{Configuration} $>$ \hyperlink{class_lib_u_s_b_1_1_device_a5ce2cb2d3b4e92fe28f35eb1d5e38b77}{get\-Configuration} (uint8\-\_\-t Config\-Value)}\label{class_lib_u_s_b_1_1_device_a5ce2cb2d3b4e92fe28f35eb1d5e38b77}

\begin{DoxyCompactList}\small\item\em Returns the requested configuration. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a586bcbb3872d1f079fae9f1b6ae96ef4}{std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_configuration}{Configuration} $>$ \hyperlink{class_lib_u_s_b_1_1_device_a586bcbb3872d1f079fae9f1b6ae96ef4}{get\-Active\-Configuration} ()}\label{class_lib_u_s_b_1_1_device_a586bcbb3872d1f079fae9f1b6ae96ef4}

\begin{DoxyCompactList}\small\item\em Returns the active\-Configuration. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_a0d24eae437e17a93ccdfa2a249650fc5}{std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_endpoint}{Endpoint} $>$ \hyperlink{class_lib_u_s_b_1_1_device_a0d24eae437e17a93ccdfa2a249650fc5}{get\-Control\-Endpoint} ()}\label{class_lib_u_s_b_1_1_device_a0d24eae437e17a93ccdfa2a249650fc5}

\begin{DoxyCompactList}\small\item\em Returns the control endpoint (\hyperlink{class_lib_u_s_b_1_1_endpoint}{Endpoint} 0) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{class_lib_u_s_b_1_1_device_a2b7f495eb8c2693602f212c2c2773f15}{Transfer\-Event\-Notification} (std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_transfer}{Transfer} $>$ p\-Completed\-Transfer)
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_lib_u_s_b_1_1_device_aed9f2bd8ff81bd3986d935f9aa242d1b}{class \hyperlink{class_lib_u_s_b_1_1_device_aed9f2bd8ff81bd3986d935f9aa242d1b}{Transfer\-Impl}}\label{class_lib_u_s_b_1_1_device_aed9f2bd8ff81bd3986d935f9aa242d1b}

\begin{DoxyCompactList}\small\item\em Transfers need access to the transfer event notification method of their target device. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Libusb device interface. 

\subsection{Member Function Documentation}
\hypertarget{class_lib_u_s_b_1_1_device_a2b7f495eb8c2693602f212c2c2773f15}{\index{Lib\-U\-S\-B\-::\-Device@{Lib\-U\-S\-B\-::\-Device}!Transfer\-Event\-Notification@{Transfer\-Event\-Notification}}
\index{Transfer\-Event\-Notification@{Transfer\-Event\-Notification}!LibUSB::Device@{Lib\-U\-S\-B\-::\-Device}}
\subsubsection[{Transfer\-Event\-Notification}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Lib\-U\-S\-B\-::\-Device\-::\-Transfer\-Event\-Notification (
\begin{DoxyParamCaption}
\item[{std\-::shared\-\_\-ptr$<$ {\bf Transfer} $>$}]{p\-Completed\-Transfer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_lib_u_s_b_1_1_device_a2b7f495eb8c2693602f212c2c2773f15}
Notification of a completed transfer \begin{DoxyWarning}{Warning}
This function can be called from other threads when using asynchronous transfers! 
\end{DoxyWarning}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
headers/device.\-h\end{DoxyCompactItemize}
